package com.coderly.onlinegallerysharingplatform.service;

import com.coderly.onlinegallerysharingplatform.model.dao.entity.SpaceDO;
import com.coderly.onlinegallerysharingplatform.model.dto.req.analyze.*;
import com.coderly.onlinegallerysharingplatform.model.dto.resp.analyze.*;

import java.util.List;

public interface AnalyzeService {

    /**
     * 分析空间使用情况
     */
    SpaceUsageAnalyzeRespDTO getSpaceUsageAnalyze(SpaceUsageAnalyzeReqDTO spaceUsageAnalyzeReqDTO);

    /**
     * 分析空间分类情况
     */
    List<SpaceCategoryAnalyzeRespDTO> getSpaceCategoryAnalyze(SpaceCategoryAnalyzeReqDTO spaceCategoryAnalyzeReqDTO);

    /**
     * 分析空间标签情况
     */
    List<SpaceTagAnalyzeRespDTO> getSpaceTagAnalyze(SpaceTagAnalyzeReqDTO spaceTagAnalyzeReqDTO);

    /**
     * 获取空间图片大小情况
     */
    List<SpaceSizeAnalyzeRespDTO> getSpaceSizeAnalyze(SpaceSizeAnalyzeReqDTO spaceSizeAnalyzeReqDTO);

    /**
     * 获取空间用户行为
     */
    List<SpaceUserAnalyzeRespDTO> getSpaceUserAnalyze(SpaceUserAnalyzeReqDTO spaceUserAnalyzeReqDTO);

    /**
     * 获取空间排名
     */
    List<SpaceDO> getSpaceRankAnalyze(SpaceRankAnalyzeReqDTO spaceRankAnalyzeReqDTO);

    /**
     * 获取最近7天用户注册趋势
     */
    List<TrendAnalyzeRespDTO> getUserRegisterTrend();

    /**
     * 获取最近7天图片上传趋势
     */
    List<TrendAnalyzeRespDTO> getPictureUploadTrend();

}